\begin{problem}{Касательная к окружности}{tangent.in}{tangent.out}{1 секунда}{64 мегабайт}

Вам задана окружность и точка. Точка может лежать вне окружности, на ее границе, а также внутри окружности. Необходимо провести касательные к окружности (если это возможно) и найти точки касания.

\begin{figure}[htp]
  \centering
  \includegraphics[width=4in]{part1_opt.png}
\end{figure}

\InputFile

В первой строке входного файла находятся два числа ~--- координаты центра окружности $P_0$.
Во второй строке записан радиус окружности $r$.
В третьей строке находятся два числа ~--- координаты точки $P_1$.

\OutputFile

В первой строке выходного файла выведите количество точек касания (0, 1 или 2). В случае одной точки касания выведете во второй строке координаты этой точки.
В случае двух точек касания выведите во второй строке координаты точки $P_3$, в третьей длины векторов $\overrightarrow{P_1P_3}$ и $\overrightarrow{P_3P_2}$,
в следующих двух строках должны находиться координаты точек касания.

\Example

\begin{example}
\exmp{
2 2 
2 
2 5
}{
2
2.000000 3.333333
1.666667 1.490712
3.490712 3.333333
0.509288 3.333333
}%
\end{example}

\end{problem}
